#!/bin/sh

## Licensed to the Apache Software Foundation (ASF) under one
## or more contributor license agreements.  See the NOTICE file
## distributed with this work for additional information
## regarding copyright ownership.  The ASF licenses this file
## to you under the Apache License, Version 2.0 (the
## "License"); you may not use this file except in compliance
## with the License.  You may obtain a copy of the License at
##
##     http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.

# Not tdbloader2.
## tdbloader2 is slightly different.
##   The main program is not a java program
##   It is split into several scripts that leverage a mixture of 
##   POSIX and java tools and should be maintained separately

# Not script "jena"
## the "jena" script is slightly different (see end of script).

CMDS=$(cat <<EOF
jena.rdfcat
jena.rdfcompare
jena.rdfcopy
jena.rdfparse
jena.schemagen
arq.rdfdiff
arq.sparql
arq.arq
arq.iri
arq.juuid
arq.rsparql
arq.rset
arq.qparse
arq.uparse
arq.update
arq.rupdate
arq.wwwdec
arq.wwwenc
riotcmd.riot
riotcmd.ntriples
riotcmd.nquads
riotcmd.turtle
riotcmd.trig
riotcmd.infer
riotcmd.utf8
riotcmd.rdfxml
shacl.shacl
tdb.tdbbackup
tdb.tdbdump
tdb.tdbloader
tdb.tdbquery
tdb.tdbstats
tdb.tdbupdate
EOF
)

CMDS2=$(cat <<EOF
tdb2.tdbbackup
tdb2.tdbdump
tdb2.tdbcompact
tdb2.tdbloader
tdb2.tdbquery
tdb2.tdbstats
tdb2.tdbupdate
EOF
)

make_bin()
{
    local C=$1
    # Filename.
    CMD=bin/${C#*.}
    sed -e "s!JENA_CMD!$C!" < template.bin > $CMD
}

# These scripts end up with the full name of the command
make_bin_full()
{
    local C=$1
    # Filename.
    CMD="bin/$C"
    sed -e "s!JENA_CMD!$C!" < template.bin > $CMD
}

make_bat()
{
    local C=$1
    # Filename.
    CMD=bat/${C#*.}.bat
    sed -e "s!JENA_CMD!$C!" < template.bat > $CMD
}

make_bat_full()
{
    local C=$1
    # Filename.
    # Replace '.' by '_'
    CMD="$(echo "bat/$C" | sed -e s!\\.!_!g).bat"
    sed -e "s!JENA_CMD!$C!" < template.bat > $CMD
}

for cmd in $CMDS
do
    ## echo $cmd
    make_bin $cmd
    make_bat $cmd
done

for cmd in $CMDS2
do
    ## echo $cmd
    make_bin_full $cmd
    make_bat_full $cmd
done
